<!--
 * @Descripttion: 
 * @Version: 
 * @Author: gaohj
 * @Date: 2022-11-08 14:15:00
 * @LastEditors: Please set LastEditors
 * @LastEditTime: 2022-11-08 14:59:58
-->
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        div {
            width: 500px;
            height: 500px;
            background-color: skyblue;
            margin: 35px;
            overflow: hidden;
        }

        p {
            width: 300px;
            height: 300px;
            background-color: orange;
            margin: 30px;
            overflow: hidden;
        }

        span {
            display: block;
            width: 100px;
            height: 100px;
            background-color: pink;
            margin: 40px;
        }


        ul {
            width: 300px;
            height: 300px;
            padding: 30px;
            border: 30px solid #333;
            background-color: skyblue;
            background-clip: content-box;

            border-top-width: 50px;
            border-left-width: 100px;
        }
    </style>
</head>

<body>
    <div>
        <p>
            <span></span>
        </p>
    </div>

    <ul>

    </ul>

    <script>
        // offset
        // 元素.offsetParent
        // 获取该元素的定位父级   你给这个标签设置绝对定位的时候 
        // 根据谁类定位 谁就是定位父级  


        // 获取偏移量 
        // 语法
        //  元素.offsetLeft
        //  元素.offsetTop
        // 得到  该元素与参考父级之间的距离 left 左边  top  上边 


        // client 

        // 语法
        //  元素.clientTop
        //  元素.clientLeft
        

        // 得到該元素(内容+padding) 与 border左上角的间距
        // 其实就是上边框和 左边框的宽度
        var spanEle = document.querySelector("span");
        var ulEle = document.querySelector("ul");

        // 1 offsetParent 

        // console.log('offsetParent:',spanEle.offsetParent);
        // console.log('offsetParent:',ulEle.offsetParent);


        // console.log('offsetLeft:',spanEle.offsetLeft); // 90
        // console.log('offsetTop:',spanEle.offsetTop); // 90


        console.log('clientLeft:',ulEle.clientLeft); // 100
        console.log('clientTop:',ulEle.clientTop);// 50 

        

    </script>
</body>

</html>